package cn.com.jcoo.security;

import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target(ElementType.FIELD)
@JacksonAnnotationsInside
@JsonSerialize(using = SensitiveDataSerializer.class)
public @interface SensitiveData {
	// /**
	// * 填充策略
	// */
	// PaddingStrategy strategy();

	/**
	 * 敏感字段替换字符
	 */
	String replaceStr() default "*";

	/**
	 * 前缀保留长度
	 */
	int prefix() default 0;

	/**
	 * 后缀保留长度
	 */
	int suffix() default 0;

	// enum PaddingStrategy {
	// /**
	// * 不足时补齐
	// */
	// PADDED,
	// /**
	// * 不足时不补齐
	// */
	// NO_PADDED
	// }
}
